﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using DAL;
using BLL;

namespace PhongMachTu.GUI
{
    public partial class QLthuoc : Form
    {
        public QLthuoc()
        {
            InitializeComponent();
        }
        ThuocBLL bll = new ThuocBLL();
        ThamSoBLL bllTS = new ThamSoBLL();

        private void btn_themthuoc_Click(object sender, EventArgs e)
        {
            if (MsgBox.checkNull(txt_mathuoc))
            {
                return;
            }
            if (MsgBox.checkNull(txt_tenthuoc))
            {
                return;
            }
            if (MsgBox.checkNull(txt_soluongthuoc))
            {
                return;
            }

            if (dgvThuoc.Rows.Count < bllTS.soLuongLoaiThuoc())
            {
                THUOC t = new THUOC();
                t.TenThuoc = txt_tenthuoc.Text;
                t.SoLuongTon = int.Parse(txt_soluongthuoc.Text);
                t.MaThuoc = txt_mathuoc.Text;
                if (bll.ThemThuoc(t))
                {
                    MsgBox.Success("Thêm thành công !");
                    dgvThuoc.DataSource = bll.LayDSThuoc();

                }
                else
                {
                    MsgBox.Error("Đã xẩy ra lỗi . Không thể thêm !");
                }
            }
            else
            {
                MsgBox.Info("Quá số lượng thuốc . Vào Quy định để thay đổi số lượng");
            }


        }

        private void btn_xoathuoc_Click(object sender, EventArgs e)
        {
            try
            {
                if (!string.IsNullOrEmpty(txt_mathuoc.Text))
                {
                    if (bll.xoaThuoc(txt_mathuoc.Text))
                    {

                        MsgBox.Success("Xóa thành công !");
                        QLthuoc_Load(sender, e);
                    }
                    else
                    {
                        MsgBox.Error("Xẩy ra lỗi ! Không thể xoá ");
                    }
                }
                else
                {
                    MsgBox.Error("Vui lòng chọn thuốc cần xoá");

                }
            }
            catch (Exception ex)
            {

                MsgBox.Error(ex);
            }

        }

        private void btn_capnhatthuoc_Click(object sender, EventArgs e)
        {
            if (MsgBox.checkNull(txt_mathuoc))
            {
                return;
            }
            if (MsgBox.checkNull(txt_tenthuoc))
            {
                return;
            }
            if (MsgBox.checkNull(txt_soluongthuoc))
            {
                return;
            }


            THUOC t = new THUOC();
            t.TenThuoc = txt_tenthuoc.Text;
            t.SoLuongTon = int.Parse(txt_soluongthuoc.Text);
            t.MaThuoc = txt_mathuoc.Text;
            if (bll.suaThuoc(t))
            {
                MsgBox.Success("Cập nhập thuốc thành công !");
                QLthuoc_Load(sender, e);

            }

            else
            {
                MsgBox.Error("Cập nhập không thành công !");
            }
        }

        private void QLthuoc_Load(object sender, EventArgs e)
        {
            DonViBLL bllDV = new DonViBLL();
            dgvThuoc.DataSource = bll.LayDSThuoc();
            comboBox1.DataSource = bllDV.LayDSDonVi();
            comboBox1.ValueMember = "MaDonVi";
            comboBox1.DisplayMember = "TenDonVi";
        }
        DonGiaBLL bllDG = new DonGiaBLL();
        private void btn_themdgia_Click(object sender, EventArgs e)
        {
            if (MsgBox.checkNull(txt_mathuoc))
            {
                return;
            }
            if (MsgBox.checkNull(comboBox1))
            {
                return;
            }
            if (MsgBox.checkNull(txt_dongia))
            {
                return;
            }
            DONGIA dg = new DONGIA();
            dg.MaThuoc = txt_mathuoc.Text;
            dg.MaDonVi = comboBox1.SelectedValue.ToString();
            dg.DonGia1 = int.Parse(txt_dongia.Text);
            if (bllDG.ThemDonGia(dg))
            {
                MsgBox.Success("Thêm thành công");
                dgvDonGia.DataSource = bllDG.LayDSDonGia(txt_mathuoc.Text);
            }

            else
            {
                MsgBox.Error("Thêm không thành công !");
            }

        }
        int maDG = 0;
        private void btn_xoadongia_Click(object sender, EventArgs e)
        {
            if (maDG != 0)
            {
                if (bllDG.xoaDonGia(maDG))
                {
                    MsgBox.Success("Xoá thành công !");
                    dgvDonGia.DataSource = bllDG.LayDSDonGia(txt_mathuoc.Text);
                    comboBox1.ResetText();
                    txt_dongia.ResetText();
                }

            }
            else
            {
                MsgBox.Error("Chưa chọn đơn giá!");
            }
        }

        private void btn_capnhat_Click(object sender, EventArgs e)
        {
            if (string.IsNullOrEmpty(txt_mathuoc.Text))
            {
                MessageBox.Show("Chưa chọn thuốc để  xem đơn giá!");
                return;
            }

            if (MsgBox.checkNull(txt_dongia))
            {
                return;
            }
            if (maDG==0)
            {
                MsgBox.Error("Chưa chọn đơn giá !");
                return;

            }
            DONGIA dg = new DONGIA();
            dg.MaDonGia = maDG;
            dg.MaThuoc = txt_mathuoc.Text;
            dg.MaDonVi = comboBox1.SelectedValue.ToString();
            dg.DonGia1 = int.Parse(txt_dongia.Text);
            if (bllDG.SuaDonGia(dg))
            {
                MsgBox.Success("Cập nhập Thành Công!");
                dgvDonGia.DataSource = bllDG.LayDSDonGia(txt_mathuoc.Text);
            }
            else
            {
                MsgBox.Error("Cập nhập không thành công !");
            }
        }

        private void dataGridView2_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {
                int index = e.RowIndex;
                txt_mathuoc.Text = dgvThuoc.Rows[index].Cells[0].Value.ToString();
                txt_tenthuoc.Text = dgvThuoc.Rows[index].Cells[1].Value.ToString();
                txt_soluongthuoc.Text = dgvThuoc.Rows[index].Cells[2].Value.ToString();
                dgvDonGia.DataSource = bllDG.LayDSDonGia(txt_mathuoc.Text);
            }
            catch
            {


            }
        }

        private void dataGridView1_CellClick(object sender, DataGridViewCellEventArgs e)
        {
            try
            {

                int index = e.RowIndex;
                maDG = int.Parse(dgvDonGia.Rows[index].Cells["MaDonGia"].Value.ToString());

                comboBox1.DisplayMember = dgvDonGia.Rows[index].Cells["TenDonVi"].Value.ToString();

                txt_dongia.Text = dgvDonGia.Rows[index].Cells["DonGia1"].Value.ToString();

            }
            catch
            {


            }




        }
    }
}
